package com.boboPlanet.comm.component;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @Description: TODO JwtProperties JWT属性配置
 * @Author: mis_wu
 * @Date: 2023/5/12
 * @Company planet
 **/
@Data
@ConfigurationProperties(prefix = "planet.jwt")
@Component
public class JwtProperties {

    /**
     * 是否开启JWT，即注入相关的类对象
     */
    private Boolean enabled;

    /**
     * 生成秘钥的算法
     */
    private String algorithm;

    /**
     * 秘钥、签名 长度
     */
    private Integer signSize;

    /**
     * JWT 密钥
     */
    private String secret;

    /**
     * accessToken 有效时间 默认：一个小时
     */
    private Long expiration;

    /**
     * 前端向后端传递JWT时使用HTTP的header名称，前后端要统一
     */
    private String authHeader;

    /**
     * 用户登录-账户
     */
    private String loginAccount;

    /**
     * 用户登录-密码
     */
    private String loginPwd;

    /**
     * 是否使用默认的JWTAuthController
     */
    private Boolean useDefaultController;

    /**
     * 不校验路径
     */
    private List<String> skipValidUrl;

}
